package net.sureon.biz;

import java.util.List;

import net.sureon.common.exception.SureonException;
import net.sureon.dao.Group;

public interface GroupMgr {
    public GroupBO getGroup(long companyID, long groupID)
        throws SureonException;

    public List<GroupBO> getGroupByCompanyID(long companyID)
        throws SureonException;

    public GroupBO getCompanyTopGroup(long companyID) throws SureonException;
    
    public long insertGroup(GroupBO group) throws SureonException;

    public int updateGroup(GroupBO group) throws SureonException;

    public GroupBO getDirectParentGroup(long companyID, long groupID,
        long theUser) throws SureonException;
    
    public int deleteNullGroup(long companyID, long groupID) throws SureonException;
    
    public List<GroupBO> getGroupByName(long companyID, String groupName) throws SureonException;
    
    public long getManagedGroup(long companyID, long userID) throws SureonException;
}
